// function extractSub(ids, region) {
// 	let len = region.length;
// 	for (var i = 0; i < len; i++) {
// 		if (region[i].level == 3) {
// 			ids.push(region[i].value);
// 			continue;
// 		}

// 		if (region[i].children != null) {
// 			extractSub(ids, region[i].children);
// 		}
// 	}

// 	return ids;
// }

// function findRoot(rootKey, region) {
// 	let len = region.length;
// 	for (var i = 0; i < len; i++) {
// 		if (region[i].value == rootKey) {
// 			return region[i];
// 		}

// 		if (region[i].children != null) {
// 			var res = findRoot(rootKey, region[i].children);
// 			if (res != null) {
// 				return res;
// 			}
// 		}
// 	}

// 	return null;
// }

// export function extractAreaIds(optionsSelected, region) {

// 	var ids = [];
// 	let optLen = optionsSelected.length;
//     if (optLen == 3) {
//     	return ids.push(optionsSelected[2]);
//     }

//     let rootKey = optionsSelected[optLen - 1];
//     var subRegion = findRoot(rootKey, region);
//     if (subRegion == null) {
//     	return null;
//     }

// 	if (subRegion.level == 3) {
// 		ids.push(subRegion.value);
// 	}

// 	extractSub(ids, subRegion.children);

//   return ids;
// }
// 
var returnData = null;
var returnAreas = "";

function returnOBJ(id, region) {
    let len = region.length;
    for (let i = 0; i < len; i++) {

        if (region[i].value == id) {
            returnData = region[i];
        }

        if (region[i].children) {
            returnOBJ(id, region[i].children);
        }

    }
    return returnData;
}

function returnString(obj) {
    let len = obj.length;
    for (let i = 0; i < len; i++) {

        if (obj[i].children) {
            returnString(obj[i].children);
        } else {
            returnAreas += obj[i].value + ",";
        }
    }
}

export function extractAreaIds(optionsSelected, region) {
    // if(optionsSelected.length>0){
    // 	return optionsSelected[optionsSelected.length-1];
    // }
    // return 1;

    returnAreas = "";
    let returnVal = "";
    let areas = "";
    let id = optionsSelected[optionsSelected.length - 1];
    let obj = returnOBJ(id, region);

    if (obj) {
        if (obj.children) {
            returnString(obj.children);
            returnVal = returnAreas;
        } else {
            returnVal = obj.value + ",";
        }
    }

    areas = returnVal.substring(0, returnVal.length - 1);
    // console.log("------",areas);
    if (areas == '') {
        returnData = null;
        returnAreas = "";
        if (region[0]) {
            return region[0].children[0].children[0].value;
        }
    } else {
        returnData = null;
        returnAreas = "";
        return areas;
    }

}

// var x="",y=[];
// function backStep(region){
//       x+=region[i].value+' ';
//   for(let i=0 ; i<region.length ; i++)
//     if(region[i].children){
//       backStep(region[i].children);
//     }else{{
//       y.push(x.substring(0,x.length-1));
//     }
//   }
// }

export function onSetArea(region, value) {//反向拉取全部对应小区
    let data = "";
    let areaList = [];
    // if(region){
    //   backStep(region);
    // }else{
    //   y=[];
    // }
    // console.log('---',x,y)
    if (region) {
        for (let i = 0; i < region.length; i++) {
            if (region[i].children) {
                for (let j = 0; j < region[i].children.length; j++) {
                    if (region[i].children[j].children) {
                        for (let h = 0; h < region[i].children[j].children.length; h++) {
                            data = region[i].value + " " + region[i].children[j].value + " " + region[i].children[j].children[h].value;
                            areaList.push(data);
                        }
                    } else {
                        data = region[i].value + " " + region[i].children[j].value;
                        areaList.push(data);
                    }
                }
            } else {
                data = region[i].value;
                areaList.push(data);
            }
        }
    } else {
        areaList = []
    }

    // for(let i=0 ; i<region.length ; i++){
    //   for(let j=0; j<region[i].children.length ; j++){
    //     for(let h=0; h<region[i].children[j].children.length ; h++){
    //       data=region[i].value+" "+region[i].children[j].value+" "+region[i].children[j].children[h].value;
    //       areaList.push(data);
    //     }
    //   }
    // }
    let a = [];
    for (let i = 0; i < areaList.length; i++) {
        a = areaList[i].split(" ");
        if (a[a.length - 1] == value) {
            return a;
        }
    }
    return [];
}
